1. Field of the Invention
The present invention applies to the field of digital communications systems and, in particular, to flexible bit-rate encoding systems for multi-ary modulation systems.
2. Description of the Prior Art
Presently in transmitting and receiving digital data across noisy channels, it is difficult to find a suitable compromise between adequate bandwidth efficiency and adequate recoverability of the transmitted signal. With high date rates, a signal may not accurately be received, demodulated and recovered. With more modest data rates, the efficiency of the system is reduced. In order to provide a robust communications link, the data rate must be limited. However, in a changing channel, this limit will also change, so that a system that accommodates only a single data rate can not always employ the optimal data rate under the circumstances.
In some systems, it is possible to vary the bit rate, or symbol rate of signal transmissions, however this often complicates the hardware and software required to implement the system. Other systems permit the modulation scheme to be changed but at still greater cost. The present invention allows the transmitted bit rate to be changed as the quality of the channel changes without significantly complicating the hardware and software. This provides a better combination of error correction coding for the available channel. It is suitable for any kind of digital communications but is particularly suitable for wireless low mobility digital data communications systems.
In one embodiment, the invention comprises a demultiplexer to divide a bit stream into a first block at a first output and a second block at a second output, a convolutional coder coupled to the first output to encode the first block and a block coder coupled to the second output to encode the second block The invention further includes a function module coupled to the block coder to apply one of a plurality of different functions to the encoded second block to produce a third block at an output and a mapper coupled to the function module output and to the convolutional coder to map the third block from the output of the function module and the encoded first block into one of a plurality of modulation constellations. A controller is coupled to the demultiplexer to control the size of the first and second blocks, is coupled to the block coder to control the block coding, and is coupled to the function module to control the function to be applied.